perm filename HW5.S79[206,LSP] blob sn#449539 filedate 1979-06-13 generic text, type T, neo UTF8
(PROG ()  ; This is the data set, required for Homework Set 5, Spring 1979
      (PRINC '|homework 5.  initialization starting|)
      (TERPRI)
      (DEFUN SYMLIST NIL 
             (SETQ SLIST
                   '((HEADACHE PAIN HEAD)
                     (SATURDAY-NIGHT WHEN SATURDAY)
                     (BODYACHES PAIN BODY)
                     (SKIING-RECENTLY WHEN SKIING-RECENTLY)
                     (PAIN-IN-EXTREMITY PAIN EXTERMITY)
                     (PAIN-IN-MOUTH PAIN MOUTH)
                     (FEAR-OF-DENTISTS AVOID DENTISTS)
                     (SWEET-TOOTH EATING-DRINKING SWEET-TOOTH)
                     (DESIRE-TO-RECUR LIKES DESIRE-TO-RECUR)
                     (PROGRAMMING-APTITUDE ABILITY
                                           PROGRAMMING-APTITUDE)
                     (TAKING-LISP LISP TAKING-LISP)
                     (LIKES-GOTO LIKES GOTO)
                     (DESIRE-TO-REPEAT LIKES DESIRE-TO-REPEAT)
                     (TAKES-TESTS SCHOOL TAKES-TESTS)
                     (STUDYS-BOOKS SCHOOL STUDYS-BOOKS)
                     (DO-HOMEWORK SCHOOL DO-HOMEWORK)
                     (MULTIPLE-DASHES LIKES MULTIPLE-DASHES)
                     (BORING ABILITY BORES-ANYONE)
                     (TA LISP TA-OF-CLASS)
                     (LIKES-CUTE-NAMES LIKES CUTE-NAMES)
                     (WORDOMANIAC CARRY DICTIONARY)
                     (BREVITY SPEECH BREVITY)
                     (PAIN-IN-FOOT PAIN FOOT)
                     (PAIN-IN-EXTREMITY PAIN EXTREMITY)
                     (NAUSEA STOMACH NAUSEA)
                     (OVERALL-QUEASINESS BODY OVERALL-QUEASINESS)
                     (ULTRA-RICH WEALTH FILTHY-RICH)
                     (METALLIC-DIET EATING-DRINKING METALLIC-FOOD)
                     (METALLIC-CHILDREN WEALTH METALLIC-DAUGHTER)
                     (READ-JONG READ READ-JONG)
                     (AVOID-AIRPLANES AVOID AIRPLANES)
                     (DISLIKE-OF-FRIED-FOODS AVOID FRIED-FOODS)
                     (CARRIES-BOARD CARRY BOARD)
                     (EMPTY-TUESDAY-NIGHT WHEN TUESDAY-NIGHT)
                     (RASH SKIN RASH)
                     (SORE-THROAT THROAT SORE)
                     (HOARSENESS THROAT HOARSE)
                     (COUGH THROAT COUGH)
                     (RUNNING-NOSE NOSE RUNNING)
                     (SWOLLEN-GLANDS GLANDS SWOLLEN)
                     (FATIGUE BODY FATIGUE)
                     (STIFFNESS BODY STIFFNESS)
                     (WATERY-EYES EYES WATERY)
                     (DURING-POLLEN-SEASON WHEN POLLEN-SEASON)
                     (TAKING-VITAMIN-C EATING-DRINKING VITAMIN-C)
                     (chills body chills)
                     (bore-anyone ability bore-anyone)
                     (BAD-LIVER LIVER BAD)))

             (DEFUN MFUN (V) 
                    (SETQ ?PROP (CADR V))
                    (SETQ ?CHAR (CADDR V))
                    (PUTPROP (CAR V)
                             (CODE (LAMBDA (PAT) 
                                           (COND ((HAS (GET PAT
                                                            '?PROP)
                                                       '?CHAR)
                                                  1.0)
                                                 (T 0.5))))
                             'EXPR))

             (DEFUN HAS (VAL OBJECT) 
                    (COND ((ATOM VAL) (EQ VAL OBJECT))
                          (T (MEMBER OBJECT VAL))))


             (MAPCAR 'MFUN SLIST)


             (DEFUN HIGH-TEMPERATURE (PAT) 
                    ((LAMBDA (TEMP) (COND ((NULL TEMP) 0.5)
                                          ((> TEMP 102.0) 1.0)
                                          ((> TEMP 100.0) 0.8)
                                          ((> TEMP 98.6) 0.6)
                                          (T 0.0)))
                     (GET PAT 'TEMPERATURE)))

             (DEFUN FEVER (PAT) (HIGH-TEMPERATURE PAT))

             (DEFUN POSITIVE-OUTLOOK (PAT) 
                    ((LAMBDA (VAL) (COND ((HAS VAL
                                               'OVERWHELMING-OPTIMISM)
                                          1.0)
                                         ((HAS VAL
                                               'PEDESTRIAN-OUTLOOK)
                                          0.25)
                                         (T 0.5)))
                     (GET PAT 'OUTLOOK)))

             (DEFUN GOOD-JUDGEMENT (PAT) 
                    ((LAMBDA (VAL) 
                             (COND ((HAS VAL 'SMART) 1.0)
                                   ((HAS VAL 'LACK-OF) 0.0)
                                   (T 0.5)))
                     (GET PAT 'JUDGEMENT)))

             (DEFUN KNOWS-LISP (PAT) 
                    ((LAMBDA (VAL) 
                             (COND ((HAS VAL 'TA-OF-CLASS) 1.0)
                                   ((HAS VAL 'TAKING-LISP) 0.8)
                                   ((HAS VAL 'IGNORANT-OF)
                                    0.0)
                                   (T 0.5)))
                     (GET PAT 'LISP)))

             (DEFUN STUDIOUS (PAT) 
                    (times (TAKES-TESTS PAT)
                       (STUDYS-BOOKS PAT)
                       (DO-HOMEWORK PAT)))

             (DEFUN LOVES-DICE (PAT) 
                    ((LAMBDA (VAL) (COND ((HAS VAL 'LOVES) 1.0)
                                         ((HAS VAL 'HATES) 0.0)
                                         (T 0.5)))
                     (GET PAT 'DICE)))



             (setq symptoms 
                 (append 
                        (mapcar 'car slist)
                        '(high-temperature fever positive-outlook
                          good-judgement knows-lisp studious loves-dice)
                  ))
             (PRINC '|symptoms read in!  See variable "SYMPTOMS"|)
             (TERPRI))

      (SYMLIST)
      (DEFUN PATLIST NIL 
             (SETQ P-LIST
                   '((RDG (LIKES MULTIPLE-DASHES CUTE-NAMES)
                          (ABILITY . BORE-ANYONE)
                          (JUDGEMENT . LACK-OF)
                          (LISP . TAKING-LISP))
                     (DBL (LIKES . DESIRE-TO-RECUR)
                          (ABILITY . PROGRAMMING-APTITUDE)
                          (OUTLOOK . OVERWHELMING-OPTIMISM)
                          (TEMPERATURE . 98.7))
                     (BCM (THROAT SORE COUGH)
                          (LIKES CUTE-NAMES)
                          (LISP . TAKING-LISP)
                          (AVOID . FRIED-FOODS)
                          (LISP . TA-OF-CLASS)
                          (SPEECH . BREVITY)
                          (PAIN . HEAD)
                          (TEMPERATURE . 104.3))
                     (CLEOPATRA (SKIN SNAKE-BIT RASH)
                                (PAIN BODY HEAD)
                                (TEMPERATURE . 103.2)
                                (BODY . FATIGUE))
                     (DOLLAR (JUDGEMENT . LACK-OF)
                             (WEALTH FILTHY-RICH METALLIC-DAUGHTER)
                             (LISP . TAKING-LISP)
                             (EATING-DRINKING . METALLIC-FOOD)
                             (THROAT . COUGH)
                             (TEMPERATURE . 89.4))
                     (ICARUS (READ . READ-JONG)
                             (AVOID . AIRPLANES)
                             (BODY . FATIGUE))
                     (FISHER (CARRY . BOARD)
                             (DICE . HATES)
                             (WHEN . EMPTY-TUESDAY-NIGHT)
                             (TEMPERATURE . 94.0))
                     (PAULING (EATING-DRINKING . VITAMIN-C)
                              (NOSE . RUNNING)
                              (PAIN . BODY)
                              (TEMPERATURE . 105.3)
                              (BODY . FATIGUE)
                              (THROAT . COUGH)
                              (EYES . WATERY)
                              (WHEN . POLLEN-SEASON))
                     (BIGMOUTH (LISP . TAKING-LISP)
                               (ABILITY . BORE-ANYONE)
                               (CARRY . DICTIONARY)
                               (PAIN MOUTH EXTREMITY)
                               (JUDGEMENT . LACK-OF))
                     (BIGMOUTH2 (LISP . TAKING-LISP)
                                (ABILITY . BORE-ANYONE)
                                (CARRY . DICTIONARY)
                                (SPEECH . BREVITY)
                                (PAIN MOUTH EXTREMITY)
                                (JUDGEMENT . LACK-OF))
                     (NOTHING)
                     (DIRTYNEEDLE (BODY . FATIGUE)
                                  (LIVER . BAD)
                                  (TEMPERATURE . 103.7))
                     (SMALLTALK (SPEECH . BREVITY))
                     (ROBBERBARON (WEALTH . FILTHY-RICH)
                                  (PAIN . HEAD)
                                  (THROAT SORE COUGH)
                                  (BODY . CHILLS)
                                  (SKIN . RASH))
                     (SICKIE (TEMPERATURE . 105.9)
                             (LIKES GOTO DESIRE-TO-REPEAT)
                             (BODY . CHILLS)
                             (LISP . IGNORANT-OF)
                             (CARRY . CARD-DECK))
                     (MRHANGOVER (PAIN BODY MOUTH)
                                 (BODY . OVERALL-QUEASINESS)
                                 (AVOID . DENTISTS)
                                 (STOMACH . NAUSEA)
                                 (EATING-DRINKING . SWEET-TOOTH)))))
     (DEFUN DISLIST NIL 
             (SETQ DLIST
                   '((SNFEVER FEVER HEADACHE SATURDAY-NIGHT)
                     (BROKEN-LEG BODYACHES
                                 SKIING-RECENTLY
                                 PAIN-IN-EXTREMITY)
                     (TOOTHACHE BODYACHES
                                PAIN-IN-MOUTH
                                FEAR-OF-DENTISTS
                                SWEET-TOOTH)
                     (RECURSIVE-ITIS DESIRE-TO-REPEAT
                                     PROGRAMMING-APTITUDE
                                     POSITIVE-OUTLOOK
                                     TAKING-LISP)
                     (ITERATIVE-ITIS DESIRE-TO-REPEAT
                                     PROGRAMMING-APTITUDE
                                     (POSITIVE-OUTLOOK)
                                     (GOOD-JUDGEMENT)
                                     (KNOWS-LISP))
                     (FAIL-LISP-CLASS TAKING-LISP (STUDIOUS))
                     (CUTENESS MULTIPLE-DASHES
                               BORE-ANYONE
                               (GOOD-JUDGEMENT)
                               LIKES-CUTE-NAMES)
                     (VERBOSITY BORE-ANYONE
                                TAKING-LISP
                                WORDOMANIAC
                                (BREVITY))
                     (LACONIC BREVITY)
                     (FOOT-IN-MOUTH PAIN-IN-MOUTH
                                    PAIN-IN-EXTREMITY
                                    (GOOD-JUDGEMENT))
                     (STOMACHACHE BODYACHES
                                  NAUSEA
                                  OVERALL-QUEASINESS
                                  SWEET-TOOTH)
                     (MIDAS-TOUCH ULTRA-RICH
                                  METALLIC-DIET
                                  METALLIC-CHILDREN)
                     (FEAR-OF-FLYING READ-JONG AVOID-AIRPLANES)
                     (FEAR-OF-FRYING LIKES-CUTE-NAMES
                                     DISLIKE-OF-FRIED-FOODS)
                     (CHESS-ITIS CARRIES-BOARD
                                 EMPTY-TUESDAY-NIGHT
                                 (LOVES-DICE))
                     (BACKGAMMON-ITIS CARRIES-BOARD
                                      EMPTY-TUESDAY-NIGHT
                                      LOVES-DICE
                                      (GOOD-JUDGEMENT))
                     (INSANITY TAKING-LISP (GOOD-JUDGEMENT))
                     (CHICKEN-POX HEADACHE FEVER RASH)
                     (DIPHTHERIA SORE-THROAT HOARSENESS FEVER)
                     (GERMAN-MEASLES HEADACHE COUGH SORE-THROAT RASH)
                     (MONONUCLEOSIS SORE-THROAT
                                    SWOLLEN-GLANDS
                                    FATIGUE)
                     (INFLUENZA FEVER CHILLS RUNNING-NOSE BODYACHES)
                     (MEASLES FEVER BODYACHES COUGH RASH)
                     (MUMPS CHILLS HEADACHE FEVER SWOLLEN-GLANDS)
                     (POLIOMYELITIS FEVER
                                    SORE-THROAT
                                    BODYACHES
                                    STIFFNESS)
                     (SCARLET-FEVER SORE-THROAT RASH FEVER CHILLS)
                     (SMALL-POX CHILLS FEVER HEADACHE RASH)
                     (HEPATITUS FATIGUE BAD-LIVER FEVER)
                     (HAYFEVER RUNNING-NOSE
                               WATERY-EYES
                               COUGH
                               DURING-POLLEN-SEASON
                               BODYACHES)
                     (COLD RUNNING-NOSE
                           FEVER
                           BODYACHES
                           (TAKING-VITAMIN-C))
                     (HEALTHY (HEADACHE)
                              (FEVER)
                              (RASH)
                              (COUGH)
                              (SORE-THROAT)
                              (CHILLS)
                              (BAD-LIVER)
                              (BODYACHES)
                              (HOARSENESS)
                              KNOWS-LISP)))



             (SETQ DISEASES (MAPCAR 'CAR DLIST))

             (DEFUN MODESYM (SYM) 
                    (COND ((ATOM SYM) (CONS SYM 'MUST-BE))
                          (T (CONS (CAR SYM) 'MUST-NOT-BE))))

             (DEFUN DISMUNGE (D) 
                    (PUTPROP (CAR D)
                             (MAPCAR 'MODESYM (CDR D))
                             'SYMPTOM))

             (MAPCAR 'DISMUNGE DLIST)
             (PRINC '|diseases read in!  see variable "DISEASES"|)
             (TERPRI))




      (DISLIST)


      (DEFUN PATMUNGE NIL 
             (PATLIST)
             (SETQ PATIENTS (MAPCAR 'CAR P-LIST))
             (MAPCAR '(LAMBDA (PAT) 
                              (MAPCAR '(LAMBDA (SYM) 
                                               (PUTPROP (CAR PAT)
                                                        (CDR SYM)
                                                        (CAR SYM)))
                                      (CDR PAT)))
                     P-LIST)

             (PRINC '|patients read in!  See variable "PATIENTS"|))

      (PATMUNGE)

      '(HAVE FUN))